home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-11-04 | 1.9 KB | 43 lines |
- 10 REM Program to locate television satellites for a given latitude
- 20 REM and longitude. This program is useful for TVRO owners.
- 30 REM Additional satellites can be placed in the data table.
- 40 REM
- 50 REM P.G. Wohlmut Copyright 1983 July 8, 1983
- 60 REM updated 9/84 by Martin Weigand
- 70 KEY OFF:WIDTH 40
- 100 PI=3.14159
- 110 DIM SAT$(50),ANGLE(50),CITY$(500),LAT(500,3),LONG(500,3)
- 120 FOR I= 1 TO 50:READ SAT$(I):IF SAT$(I)="end" THEN 181
- 130 READ ANGLE(I):NEXT I
- 140 DATA Aurora,143,Satcom 1R,139,Galaxy 1,134,Satcom F3,131,Comstar D4,127
- 150 DATA Westar 5,123,Satcom F2,119,Anik A3,114,Anik B,109,Anik D1,104
- 160 DATA Westar 4,99,Comstar D1/D2,95,Westar 3,91,Comstar D3,87
- 170 DATA Satcom F4,83,Westar 1/2,79
- 180 DATA end
- 181 TOPS=I-1
- 185 FOR I= 1 TO 500:READ CITY$(I):IF CITY$(I)="end" THEN 187 ELSE FOR J=1 TO 3:READ LAT(I,J):NEXT J:FOR J=1 TO 3:READ LONG(I,J)
- 186 NEXT J:NEXT I
- 187 CIT=I-1
- 190 RESTORE
- 200 CLS: FOR I=1 TO CIT STEP 20
- 210 FOR J= 1 TO 20:K=I+J-1:IF CITY$(K)="end" THEN 212 ELSE PRINT USING "###: \ \";J,CITY$(K):NEXT J
- 212 LOCATE 24,10:INPUT "Which city # (#,m=more) ";Z$
- 213 IF Z$="m" OR Z$="M" THEN CLS:GOTO 218 ELSE Z=VAL(Z$):IF Z<1 OR Z>58 THEN 218
- 214 Z=Z+I-1:DT=LAT(Z,1):MT=LAT(Z,2):ST=LAT(Z,3):DG=LONG(Z,1):MG=LONG(Z,2):SG=LONG(Z,3):CIT$=CITY$(Z):GOTO 240
- 218 NEXT I:LOCATE 24,1:PRINT "No more cities :";
- 220 INPUT"Your Latitude (dd,mm,ss) ";DT,MT,ST
- 230 INPUT"Your Longitude (dd,mm,ss) ";DG,MG,SG
- 240 SITELONG=DG+MG/60+SG/3600:SITELAT=DT+MT/60+ST/3600
- 250 SITELONG = SITELONG*PI/180:SITELAT=SITELAT*PI/180
- 260 CLS:PRINT "IMMMMMMMMMMMMMKMMMMMMMMMMMKMMMMMMMMMMM;"
- 270 PRINT ": SATELLITE : ELEVATION : AZIMUTH :"
- 280 PRINT ": : DD'MM'SS : DD'MM'SS :"
- 290 PRINT "LMMMMMMMMMMMMMNMMMMMMMMMMMNMMMMMMMMMMM9"
- 300 FOR NUM=1 TO TOPS
- 310 SATLONG=ANGLE(NUM)*PI/180:GOSUB 420
- 320 ELD=INT(EL):ELM1=EL-ELD:ELM=INT(ELM1*60):ELS=CINT(ELM1*3600-ELM*60)
- 330 AZD=INT(AZ):AZM1=AZ-AZD:AZM=INT(AZM1*60):AZS=CINT(AZM1*3600-AZM*60)
- 340 PRINT USING ":\ \: ###'##'## : ###'##'## :";SAT$(NUM),ELD,ELM,ELS,AZD,AZM,AZS
- 350 NEXT NUM
- 360 PRINT "HMMMMMMMMMMMMMJMM
-